
#pragma once

#include "base/core/singleton.h"
#include "Common/TableDefine.h"


class ExchangeExchangeCfg : public ManualSingleton <ExchangeExchangeCfg>
{
	friend ManualSingleton <ExchangeExchangeCfg>;
public:
	ExchangeExchangeCfg();
	~ExchangeExchangeCfg();
	bool Init(const char *szCfgFile, const char *szSplitChar);
	bool UnInit();
	void Clear();
	const ExchangeExchangeCfgInfo *GetExchangeExchangeCfgInfo(int32_t exchangeId);
	const ExchangeExchangeCfgMap *GetExchangeExchangeCfgMap() { return &m_ExchangeExchangeCfgMap; }
private:
	ExchangeExchangeCfgMap m_ExchangeExchangeCfgMap;
};

#define  g_MakeExchangeExchangeCfgTable() (ExchangeExchangeCfg::Instance())
#define  g_GetExchangeExchangeCfgTable() (ExchangeExchangeCfg::GetInstance())
#define  g_DelExchangeExchangeCfgTable() (ExchangeExchangeCfg::Destroy())